// 封装axios
//我们使用的是vue封装好的异步，所以需要引入axios
import axios from 'axios'
//引入element-plus 是为了请求失败时调用element-plus的弹框组件
import {  ElMessage } from 'element-plus'
// 创建axios实例
const service = axios.create({
    //设置基础访问路径,看自己需要修改
    // baseURL: 'http://localhost:9527',
    timeout: 15000 // 请求超时时间
})
// http request 拦截器
service.interceptors.request.use(
    config => {
    //这里可以处理 token ，需要根据需要进行处理，我这里先不处理，
    return config
},
// 抛出错误，阻止程序运行
  err => {
    return Promise.reject(err)
})
// http response 拦截器
service.interceptors.response.use(
    response => {
        //判断请求是否正常
        if (response.data.code !== 200) {
            //出现错误，使用element-plus的弹窗组件,提示错误信息
                ElMessage({
                  showClose: true,
                  message: response.data.message,
                  type: 'error',
                })
            return Promise.reject(response.data)
        } else {
            //成功返回数据
            return response.data
        }
    },
    // 抛出错误
    error => {
        return Promise.reject(error.response)
})
//导出service
export default service;